package com.dp.client.servicios.almacenes;

import java.sql.Date;
import java.util.List;

import com.dp.client.dto.AlmacenBusqueda;
import com.dp.client.dto.AlmacenDTO;
import com.dp.client.dto.CiudadDTO;
import com.dp.client.dto.ClienteDTO;
import com.dp.client.dto.ContinenteDTO;
import com.dp.client.dto.PaisDTO;
import com.dp.client.dto.PaqueteDTO;
import com.dp.client.dto.Reportes;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface IServiciosAlmacenAsync {

	void listAlmacenes(AsyncCallback<List<AlmacenDTO>> callback);

	void registrarAlmacen(AlmacenDTO almacenDTO, AsyncCallback<Boolean> callback);

	void eliminarAlmacen(int id, AsyncCallback<Boolean> asyncCallback);

	void buscarAlmacen(AlmacenBusqueda readAlmacenParaBuscar,AsyncCallback<List<AlmacenDTO>> asyncCallback);
 
	void getAlmacen(int almacenId, AsyncCallback<AlmacenDTO> callback);

	void getAlmacenByCiudad(String ciudadId, AsyncCallback<AlmacenDTO> callback);

	void enviarCorreo(ClienteDTO emisor, ClienteDTO receptor,
			PaqueteDTO paquete, AsyncCallback<String> callback);

	void listAlmacenesConDatosEnTiempoReal(
			AsyncCallback<List<AlmacenDTO>> callback);

	void getReporteAlmacen(java.util.Date fechaMin, java.util.Date fechaMax,
			AsyncCallback<Reportes> callback);


}
